$(document).ready(function(){
    $('#edit-place').live('submit', function(){
        editPlace($(this));
        return false;
    });

    $('#add-place').live('submit', function(){
        editPlace($(this));
        return false;
    });
});

function deletePlace(obj, url, _target) {
    $.post(url, { target: _target }, function(data) {
        if (data.status == 'error') { alert(data.data) }
        else {
            $(obj).parents('.trv_menu_item:first').remove();
        }
    }, 'JSON');
}

function editPlace(obj) {
    $(obj).find('input[type="submit"]').prop('disabled', true);
    $.post($(obj).attr('action'), $(obj).serialize(), function(data) {
        if (data.status == 'error') { alert(data.data) }
        else {
            $(obj).find('input[type="submit"]').prop('disabled', false);
            $(obj).find('#status').remove();
            $(obj).find('input[type="submit"]').parent().append($('<span id="status">'+data.data+'</span>'));
        }
    }, 'JSON');
}

function openMenu(obj, url) {
    var id = $(obj).attr('item_id');

    id == undefined ? id = '' : false;

    if ($(obj).attr('alt') == 'plus') {
        $.post(url+id, function(data) {
            if (data.status == 'error') { alert(data.data) }
            else {
                $(obj).attr('alt', 'minus');
                $(obj).attr('src', '/static/css/minus.png');
                $(obj).parent().append(data.data);
            }
        }, 'JSON');
    } else {
        $(obj).attr('alt', 'plus');
        $(obj).attr('src', '/static/css/plus.png');
        $(obj).parent().children('div').remove();
    }
}

function loadContent(obj, url) {
    $.post(url, function(data) {
        if (data.status == 'error') { alert(data.data) }
        else {
            $('#content_right').html(data.data);
            initPlugins();
        }
    }, 'JSON');
}

function initPlugins() {
    tinyMCE.init({
            // General options
            mode : "specific_textareas",
            editor_selector : "mceEditor",
            theme : "advanced",
            plugins : "autolink,lists,spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",

            // Theme options
            theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
            theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
            theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
            theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,spellchecker,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,blockquote,pagebreak,|,insertfile,insertimage",
            theme_advanced_toolbar_location : "top",
            theme_advanced_toolbar_align : "left",
            theme_advanced_statusbar_location : "bottom",
            theme_advanced_resizing : true,

            // Skin options
            skin : "o2k7",
            skin_variant : "silver",

            // Example content CSS (should be your site CSS)

            // Drop lists for link/image/media/template dialogs
            template_external_list_url : "js/template_list.js",
            external_link_list_url : "js/link_list.js",
            external_image_list_url : "js/image_list.js",
            media_external_list_url : "js/media_list.js",

            // Replace values for the template plugin
            template_replace_values : {
                    username : "Some User",
                    staffid : "991234"
            }
    });
}